'use strict'
const path = require('path')

// page title
const name = 'vue'

// path
function resolve (dir) {
  return path.join(__dirname, dir)
}
const resolveConfig = {
  alias: {
    '@': resolve('src'),
    '@imgs': resolve('src/assets/images'),
    _v: resolve('src/views'),
    _c: resolve('src/components')
  }
}

// plugins
function getPlugins () {
  const plugins = []
  if (process.env.NODE_ENV === 'production') {
    plugins.push(

    )
  } else if (process.env.NODE_ENV === 'development') {
    plugins.push(

    )
  } else {

  }
  return plugins
}

// port
const port = process.env.port || 9527

// dist-path
const BASE_URL = process.env.BASE_URL || '/'
if (!BASE_URL.startsWith('/')) {
  console.error('Please, use an absolute BASE_URL ')
  process.exit(1)
} else if (!BASE_URL.endsWith('/')) {
  console.error("BASE_URL  should end in '/'")
  process.exit(1)
}

module.exports = {
  publicPath: BASE_URL,
  outputDir: 'dist',
  assetsDir: 'static',
  lintOnSave: process.env.NODE_ENV === 'development',
  productionSourceMap: false,
  
  devServer: {
    https: true,
    port: port,
    // open: true,
    overlay: {
      warnings: false,
      errors: true
    }
    // proxy: { // 配置跨域
    //   '/api': {
    //     target: 'https://openapi.baidu.com', // 这里后台的地址模拟的;应该填写你们真实的后台接口
    //     ws: true,
    //     changOrigin: true, // 允许跨域
    //     pathRewrite: {
    //       '^/api': ''// 请求的时候使用这个api就可以
    //     }
    //   },
    //   '/api2': {
    //     target: 'http://vop.baidu.com', // 这里后台的地址模拟的;应该填写你们真实的后台接口
    //     ws: true,
    //     changOrigin: true, // 允许跨域
    //     pathRewrite: {
    //       '^/api2': ''// 请求的时候使用这个api就可以
    //     }
    //   }
    // }
  },
  css: {
    loaderOptions: {
      sass: {
        prependData: `
          @import "@/styles/mixin.scss";
          @import "@/styles/variables.scss";
        `
      }
    }
  },
  // 图片全部打进内联样式
  // chainWebpack: config => {
  //   config.module.rule('images')
  //     .use('url-loader')
  //     .loader('url-loader')
  //     .tap(options => {
  //       Object.assign(options, { limit: 10240 })// 10240是修改的图片大小
  //     })
  // },
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
  configureWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      // config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
    } else if (process.env.NODE_ENV === 'development') {

    } else {

    }

    return { name, resolve: resolveConfig, plugins: getPlugins() }
  }
}
